package leetcode_周赛._2024._03;

/**
 * 第 390 场周赛 AC_3
 *
 * @author yezh
 * @date 2024/3/25 8:53
 */
public class _24 {

    /**
     * 3090. 每个字符最多出现两次的最长子字符串
     * 算法：滑动窗口
     */
    public int maximumLengthSubstring(String s) {
        int ans = 0;
        int[] cnt = new int[26];
        int left = 0;
        for (int l = 0, r = 0; r < s.length(); r++) {
            int c = s.charAt(r) - 'a';
            cnt[c]++;
            while (cnt[c] > 2) cnt[s.charAt(left++) - 'a']--;
            ans = Math.max(ans, r - l + 1);
        }
        return ans;
    }

}
